﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class UserControl_ControlQuanLySkin : System.Web.UI.UserControl
{
    ClassExecute.ClassExecute dt;
    string str = webapp4U.Configuration.CurrentConnectionString;
    string error = "";


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (ViewState["flag"] == null)
            {
                
                GetFromDate();
                ClearAdd();
                LoadGrid();
            }
        }
    }
    void GetFromDate()
    {
        dt = new ClassExecute.ClassExecute();
        txtFromdate.Text = dt.GetDataDepend(str, "[k_getFromdate]", CommandType.StoredProcedure, ref error);

    }
    void ClearAdd()
    {
        TabContainer1.ActiveTabIndex = 0;
        clearDetail();
        ViewState["flag"] = true;
        GetFromDate();
        
        btnSave.Text = "Lưu";
        lblMsg.Text = "";
        lblMsg.Visible = false;
    }
    void ShowMessageBox(string text)
    {
        MessageBox.Text = text;
        MessageBox.ShowOnPageLoad = true;
    }

    protected void imgBtnAdd_Click(object sender, ImageClickEventArgs e)
    {
        ClearAdd();
    }

    protected void btSearch_Click(object sender, EventArgs e)
    {
        LoadGrid();
    }

    protected void grvSkin_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grvSkin.PageIndex = e.NewPageIndex;
        LoadGrid();
    }
    protected void grvSkin_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "chon")
        {
            GridViewRow grv = ((Control)e.CommandSource).NamingContainer as GridViewRow;

            Label lblMaSo = (Label)grv.FindControl("lblMaSo");
            Label lblFromdate = (Label)grv.FindControl("lblFromdate");
            Label lblTodate = (Label)grv.FindControl("lblTodate");
            Label lblDetail = (Label)grv.FindControl("lblDetail");

            txtMaSo.Text = lblMaSo.Text;
            txtDetail.Text = lblDetail.Text;
            txtFromdate.Text = lblFromdate.Text;
            txtTodate.Text = lblTodate.Text;
           

            ViewState["flag"] = false;
            btnSave.Text = "Cập nhật";
            lblMsg.Visible = false;

           
            TabContainer1.ActiveTabIndex = 0;
        }
    }
    private void LoadGrid()
    {
        dt = new ClassExecute.ClassExecute();
        try
        {
            DataTable db = dt.Get_Data_DataTable(str, ref error, "k_getSkinUnActive", CommandType.StoredProcedure);


            if (db.Rows.Count == 0)
            {
               
                grvSkin.DataSource = null;
            }
            else
            {
                grvSkin.DataSource = db;
            }
            grvSkin.DataBind();
        }
        catch (Exception ex)
        {
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            dt.WriteErrorLog(Server.MapPath(webapp4U.Globals.LogUrl()), ex.Message, method);
        }
    }

    private void clearDetail()
    {
        txtFromdate.Text = "";

        txtTodate.Text = "";
        txtDetail.Text = "";
        txtMaSo.Text = "New";
    }

    protected void btnSave_Click(object sender, EventArgs e)
    {
        dt = new ClassExecute.ClassExecute();
        int result = 0;
        try
        {
            if ((bool)ViewState["flag"])
            {
                //insert
                result = dt.ExecuteSQl_int(str, "[k_InsertSkin]", CommandType.StoredProcedure, ref error,
                    new SqlParameter("@Detail", txtDetail.Text),
                    new SqlParameter("@fromdate",txtFromdate.Text),
                    new SqlParameter("@todate",txtTodate.Text));
                if (result == 1)
                {
                    //ShowMessageBox("Thêm mới ngành hàng thành công");
                    ClearAdd();
                    lblMsg.Text = "Thêm mới kỳ phân tuyến thành công";
                    lblMsg.Visible = true;
                }
                else
                {
                    //ShowMessageBox("Hệ thống đang bảo trì");
                    lblMsg.Text = "Hệ thống đang bảo trì";
                    lblMsg.Visible = true;
                }
                //ViewState["flag"] = false;
                //txtMaSo.Text = "";
                //txtNganhHang.Text = "";
            }
            else
            {
                //update
                result = dt.ExecuteSQl_int(str, "k_updateSkin", CommandType.StoredProcedure, ref error,
                 new SqlParameter("@Detail", txtDetail.Text),
                 new SqlParameter("@todate", txtTodate.Text));
                
                if (result == 1)
                {
                    //ShowMessageBox("Cập nhật ngành hàng thành công");
                    lblMsg.Text = "Cập nhật kỳ phân tuyến thành công";
                    lblMsg.Visible = true;
                }
               
                else
                {
                    //ShowMessageBox("Hệ thống đang bảo trì");
                    lblMsg.Text = "Hệ thống đang bảo trì";
                    lblMsg.Visible = true;
                }
            }
            LoadGrid();
        }
        catch (Exception ex)
        {
            string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
            dt.WriteErrorLog(Server.MapPath(webapp4U.Globals.LogUrl()), ex.Message, method);
        }
    }
  
}